package com.example.communitypro.service;

import com.example.communitypro.pojo.Message;
import com.example.communitypro.util.result.Result;
import io.swagger.models.auth.In;

public interface ChatService {

    /**
     * 查询聊天双方的关联id
     * @param sender
     * @param receiver
     * @return
     */
    String selectAssociation(Integer sender, Integer receiver);

    /**
     * 是否第一次聊天
     * @param sender
     * @param receiver
     * @return
     */
    int isFirstChat(Integer sender, Integer receiver);

    /**
     * 保存聊天记录
     * @param chatMessage
     * @return
     */
    void saveMessage(Message chatMessage);

    /**
     * 获取当前用户的聊天列表
     * @param sender
     * @return
     */
    Result getSenderChatList(Integer sender);

    /**
     * 获取发送者与接收者的最近的聊天记录
     * @param sender
     * @param receiver
     * @param amount
     * @return
     */
    Result getRecentChatRecords(Integer sender, Integer receiver, Integer amount);
    /**
     * 获取当前用户的未读数
     * @param username
     * @return
     */
    Result getUnreadTotalNumber(String username);

    /**
     *创建用户聊天列表
     * @param sender
     * @param receiver
     * @return
     */
    Result createChatList(int sender,int receiver);

    /**
     *
     * @param username
     */
    void resetWindows(String username);

    /**
     *设置聊天列表已读
     */
    Result setUnRead(int listId);
}


